Interface creation/it
Introduzione
Gli utenti esperti hanno la possibilità di creare delle interfacce che li aiutino a produrre strumenti complessi per i loro addon personalizzati, come le macro o interi ambienti.
Le interfacce vengono create usando PySide, che è una libreria per l'utilizzo di Qt con Python.
Due metodi generali per creare delle interfacce, includendo l'interfaccia nel file Python o usando i file .ui
.
Descrizione
Esistono in genere due modi per creare delle interfacce con PySide.
Interfaccia in un file .ui
Con questo metodo l'interfaccia è definita in un file .ui
(un documento XML che definisce la struttura dell'interfaccia), che viene poi importato nel codice Python che lo utilizza. Questo è l'approccio consigliato.
- Consente al programmatore di lavorare con l'interfaccia grafica separatamente dalla logica che la utilizzerà.
- Permette a chiunque di guardare solo l'interfaccia, cioè il file
.ui
, senza dover eseguire codice Python.
- Il file
.ui
può essere progettato da chiunque non abbia conoscenze di programmazione.
- L'interfaccia
.ui
può essere utilizzata in una finestra autonoma (modale) o in una finestra incorporata (non modale); pertanto, questo metodo è ideale per creare una Scheda Azioni.
- Dato che il file
.ui
descrive solo "l'aspetto" dell'interfaccia, non ha bisogno di essere legato a un particolare linguaggio di programmazione; può essere utilizzato sia nel codice Python che in quello C++.
Interfaccia completamente in codice Python
In questo metodo l'intera interfaccia è definita da diverse chiamate Python.
- Questo è un vecchio modo di lavorare con le interfacce.
- Questo metodo produce un codice molto prolisso perché molti dettagli dell'interfaccia devono essere specificati manualmente.
- Non è semplice separare l'interfaccia dalla logica che utilizza quel codice, il che significa che un utente dovrebbe eseguire il file Python nel contesto corretto per vedere come dovrebbe apparire l'interfaccia.
- Questo metodo ha il vantaggio che diverse interfacce possono essere contenute all'interno di un singolo documento, a costo di rendere il file molto grande.
- Questo metodo è consigliato solo per piccole interfacce che non definiscono più di alcuni widget, ad esempio in macro.
Per esempi su questo metodo vedi Creare delle finestre di dialogo.
Power user documentation
- Parametric objects: Scripted objects, Viewproviders (Custom icon in tree view)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Graphical interface: Interface creation, Interface creation completely in Python (1, 2, 3, 4, 5), PySide, PySide examples beginner, intermediate, advanced
- Macros: Macros, How to install macros
- Embedding: Embedding FreeCAD, Embedding FreeCADGui